User Agent
闇of闇
自力で判定処理を書こうとしてここまで来た人はライブラリを探したほうがいい
上記のコードが示すように、ブラウザーの互換性をユーザーエージェントの判定なしに行う方法は常にあります。このためにユーザーの文字列をチェックする理由は決してありません。
古いブラウザに対して警告を出すなどはいいかもしれない
初級:Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:135.0) Gecko/20100101 Firefox/135.0
Mozilla/5.0
罠(どのブラウザでも同じ)
(Windows NT 10.0; Win64; x64; rv:135.0)
Windows 10の64bitで動いているという意味
rv:135.0はfirefoxのバージョン
Gecko/20100101
Geckoベースのブラウザでつく
20100101は固定
なので、20100101を見ればGeckoベースであることがわかる
Firefox/135.0
ブラウザ名とバージョン
上級:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36 Edg/131.0.0.0
Mozilla/5.0
罠
IEがMozilla(netscapeのコードネームだった)を勝手に名乗ってたのが由来
AppleWebKit/537.36
罠(Chromiumが以前はレンダリングにWebkitを使っていたため)
(KHTML, like Gecko)
罠(Webkitが設置した罠)
WebkitはKHTML由来なので
Geckoは全く関係ない
Chrome/131.0.0.0
Chromiumベースのブラウザでつく
Chromium側のバージョン
Safari/537.36
罠(Chromiumが以前はレンダリングにWebkitを使っていたため)
バージョンは前の罠と一致してる
Edg/131.0.0.0
ChromiumベースのEdgeという意味